import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author debroizr
 */
public class Ajout {

    public static void ajout(Connection conn) throws SQLException {

        int actionAjout;
        boolean exit = false;
        
        while (!exit) {
            System.out.println("\n************* Menu d'ajout *************");
            System.out.println("**** Choisir une action a effectuer ****");
            System.out.println("0 : Quitter");
            System.out.println("1 : Ajout d'un vol de passagers");
            System.out.println("2 : Ajout d'un vol de fret");
            System.out.println("3 : Ajout d'un pilote");
            System.out.println("4 : Ajout d'une hotesse");
            System.out.println("5 : Retour\n");
        
            actionAjout = LectureClavier.lireEntier("votre choix ?\n");
            switch (actionAjout) {
                case 0:
                    exit = true;
                    conn.close();
                    System.out.println("\nAu revoir");
                    System.exit(0);
                    break;
                case 1:
                    System.out.println("\nAjouter un vol de passagers");
                    ajouterVolPassager(conn);
                    break;
                case 2:
                    System.out.println("\nAjouter un vol de fret");
                    ajouterVolFret(conn);
                    break;
                case 3:
                    System.out.println("\nAjouter un pilote");
                    ajouterPilote(conn);
                    break;
                case 4:
                    System.out.println("\nAjouter une hotesse");
                    ajouterHotesse(conn);
                    break;
                case 5:
                    AirChance.menu();
                    exit = true;
                    break;
                default:
                    System.out.println("=> Choix incorrect");
                    AirChance.menu();
            }
        }
    }

    /**
     * ajouterVolPassager effectue les opérations nécessaires à l'ajout d'un vol
     * de passagers. En l'occurence, il s'agit de créer un vol, d'y affecter les
     * hotesses et les pilotes ensuite.
     *
     * @param conn : Connexion à la base de donnée
     * @throws SQLException : Rollback si la transcation a rencontré une erreur.
     */
    private static void ajouterVolPassager(Connection conn) throws SQLException {
        PreparedStatement stmt;
        Vector listeModeles = new Vector();
        Scanner sc;
        int NumAvionP;
        String origine;
        String destination;
        String heure;
        int minDep;
        int heureDep;
        int duree;
        String dateDep;
        int distance;
        int Nb1ClMin;
        int Nb2ClMin;
        String dateVolP;
        int numVolP;
        int nbPilotes = 2;
        
        try {
            /* Choix du niveau d'isolation */
            conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
            
            //Création du nouveau vol
            System.out.println("Veuillez sélectionner le numéro de l'avion parmi la liste disponible :");

            stmt = conn.prepareStatement("Select NumAvionP From AvionsPassagers");

            ResultSet resultat = stmt.executeQuery();
            
            while (resultat.next()) {
                //Affichage de la liste des modèles
                NumAvionP = Integer.parseInt(resultat.getString("NumAvionP"));
                System.out.println("Numéro : " + NumAvionP);
                listeModeles.add(NumAvionP);
            }
            
            sc = new Scanner(System.in);
            NumAvionP = sc.nextInt();
            
            //Verification du numéro de l'avion
            while (!avionExistant(NumAvionP, listeModeles)) {
                NumAvionP = sc.nextInt();
            }            
            
            System.out.println("Date du vol à ajouter (format DD-MON-YY) :");
            dateVolP = LectureClavier.lireChaine();
            
            //Vérification de la date
            while (!Suppression.isDateValid(dateVolP)) {
                System.out.println("Date du vol à ajouter (format DD-MON-YY) :\n");
                dateVolP = LectureClavier.lireChaine();
            }
            
            numVolP = LectureClavier.lireEntier("Numéro du vol à ajouter :");
            
            //Vérification de la date
            while (!Suppression.isDateValid(dateVolP)) {
                System.out.println("Date du vol à ajouter (format DD-MON-YY) :\n");
                dateVolP = LectureClavier.lireChaine();
            }

            System.out.println("Veuillez indiquer la ville d'origine du vol :");
            origine = LectureClavier.lireChaine();
            System.out.println("Veuillez insiquer la ville de destination du vol :");
            destination = LectureClavier.lireChaine();

            heureDep = LectureClavier.lireEntier("Veuillez indiquer l'heure de départ du vol :");
            while (!heureValide(heureDep)) {
                heureDep = LectureClavier.lireEntier("Veuillez indiquer l'heure de départ du vol :");
            }
            minDep = LectureClavier.lireEntier("Veuillez indiquer les minutes :");
            while (!minuteValide(minDep)) {
                minDep = LectureClavier.lireEntier("Veuillez indiquer les minutes :");
            }
            
            heure = heureDep+":"+minDep+":"+"00";
            dateDep = dateVolP+heureDep+":"+minDep+":"+"00";
            
            duree = LectureClavier.lireEntier("Veuillez indiquer la durée du vol :");
            
            distance = LectureClavier.lireEntier("Veuillez indiquer la distance du vol :");
            
            Nb1ClMin = LectureClavier.lireEntier("Veuillez indiquer le nombre minimum de place en première classe :");
            
            Nb2ClMin = LectureClavier.lireEntier("Veuillez indiquer le nombre minimum de place en seconde classe :");
             
            //Affectation des pilotes
            ajouterAffectationP(conn, numVolP, nbPilotes, dateVolP);
            
            //Affectation des hotesses
            ajouterAffectationH(conn, numVolP, NumAvionP, dateVolP);
            
            //Création du vol
            stmt = conn.prepareStatement("Insert Into VolsPassagers"
                    + " Values(?, ?, ?, ?, to_date(?, 'dd/mm/yyyy hh24:mi:ss'), ?, ?, ?, ?, ?, ?)");
            
            stmt.setString(1, numVolP+"");
            stmt.setString(2, dateVolP);
            stmt.setString(3, origine);
            stmt.setString(4, destination);
            stmt.setString(5, dateDep);
            stmt.setInt(6, duree);
            stmt.setInt(7, distance);
            stmt.setInt(8, Nb1ClMin);
            stmt.setInt(9, Nb2ClMin);
            stmt.setInt(10, NumAvionP);
            stmt.setString(11, "n");
            
            stmt.executeQuery();
            stmt.close();
            
            //Si aucune erreur on commit
            conn.commit();
            
        }catch (SQLException ex) {
            conn.rollback();
            System.out.println("L'ajout du vol de passager a rencontré une erreur");
            Logger.getLogger(AirChance.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    /**
     * ajouterVolFret effectue les opérations nécessaires à l'ajout d'un vol
     * de fret. 
     *
     * @param conn : Connexion à la base de donnée
     * @throws SQLException : Rollback si la transcation a rencontré une erreur.
     */
    private static void ajouterVolFret(Connection conn) throws SQLException {
        PreparedStatement stmt;
        Vector listeModeles = new Vector();
        Scanner sc;
        int NumAvionF;
        String dateVolF;
        int numVolF;
        String origine;
        String destination;
        String heure;
        String dateDep;
        int minDep;
        int heureDep;
        int duree;
        int distance;
        float volumeMin;
        float poidsMin;
        
        try {
            /* Choix du niveau d'isolation */
            conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
            
            //Création du nouveau vol
            System.out.println("Veuillez sélectionner le numéro de l'avion parmi la liste disponible :");

            stmt = conn.prepareStatement("Select NumAvionF From AvionsFret");

            ResultSet resultat = stmt.executeQuery();
            
            while (resultat.next()) {
                //Affichage de la liste des modèles
                NumAvionF = Integer.parseInt(resultat.getString("NumAvionF"));
                System.out.println("Numéro : " + NumAvionF);
                listeModeles.add(NumAvionF);
            }
            
            sc = new Scanner(System.in);
            NumAvionF = sc.nextInt();
            
            //Verification du numéro de l'avion
            while (!avionExistant(NumAvionF, listeModeles)) {
                NumAvionF = sc.nextInt();
            }            
            
            System.out.println("Date du vol à ajouter (format DD-MON-YY) :");
            dateVolF = LectureClavier.lireChaine();
            
            //Vérification de la date
            while (!Suppression.isDateValid(dateVolF)) {
                System.out.println("Date du vol à ajouter (format DD-MON-YY) :\n");
                dateVolF = LectureClavier.lireChaine();
            }
            
            numVolF = LectureClavier.lireEntier("Numéro du vol à ajouter :");
            
            //Vérification de la date
            while (!Suppression.isDateValid(dateVolF)) {
                System.out.println("Date du vol à ajouter (format DD-MON-YY) :\n");
                dateVolF = LectureClavier.lireChaine();
            }

            System.out.println("Veuillez indiquer la ville d'origine du vol :");
            origine = LectureClavier.lireChaine();
            System.out.println("Veuillez insiquer la ville de destination du vol :");
            destination = LectureClavier.lireChaine();

            heureDep = LectureClavier.lireEntier("Veuillez indiquer l'heure de départ du vol :");
            while (!heureValide(heureDep)) {
                heureDep = LectureClavier.lireEntier("Veuillez indiquer l'heure de départ du vol :");
            }
            minDep = LectureClavier.lireEntier("Veuillez indiquer les minutes :");
            while (!minuteValide(minDep)) {
                minDep = LectureClavier.lireEntier("Veuillez indiquer les minutes :");
            }
            
            heure = heureDep+":"+minDep+":"+"00";
            dateDep = dateVolF+heureDep+":"+minDep+":"+"00";
            
            duree = LectureClavier.lireEntier("Veuillez indiquer la durée du vol :");
            
            distance = LectureClavier.lireEntier("Veuillez indiquer la distance du vol :");
            
            volumeMin = LectureClavier.lireFloat("Veuillez indiquer le volume minimum :");
            
            poidsMin = LectureClavier.lireFloat("Veuillez indiquer le poids minimum :");
             
            //Création du vol
            stmt = conn.prepareStatement("Insert Into VolsFret"
                    + " Values(?, ?, ?, ?, to_date(?, 'dd/mm/yyyy hh24:mi:ss'), ?, ?, ?, ?, ?, ?)");
            
            /* System.out.println("numVolF : " + numVolF);
            System.out.println("dateVolF : " + dateVolF);
            System.out.println("origine : " + origine);
            System.out.println("destination : " + destination);
            System.out.println("dateDep : " + dateDep);
            System.out.println("duree : " + duree);
            System.out.println("distance : " + distance);
            System.out.println("volumeMin : " + volumeMin);
            System.out.println("poidsMin : " + poidsMin);
            System.out.println("NumAvionF : " + NumAvionF); */
            
            String confirmation = "n";
            
            stmt.setString(1, numVolF+"");
            stmt.setString(2, dateVolF);
            stmt.setString(3, origine);
            stmt.setString(4, destination);
            stmt.setString(5, dateDep);
            stmt.setInt(6, duree);
            stmt.setInt(7, distance);
            stmt.setFloat(8, volumeMin);
            stmt.setFloat(9, poidsMin);
            stmt.setInt(10, NumAvionF);
            stmt.setString(11, confirmation);
            
            stmt.executeQuery();
            
            //Si aucune erreur on commit
            conn.commit();
            
        }catch (SQLException ex) {
            conn.rollback();
            System.out.println("L'ajout du vol de passager a rencontré une erreur");
            Logger.getLogger(AirChance.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    /**
     * ajouterAffectationH effectue les opérations nécessaires à l'affectation
     * d'une hotesse. En l'occurence, il s'agit d'affecter les
     * hotesses.
     *
     * @param conn : Connexion à la base de donnée
     * @throws SQLException : Rollback si la transcation a rencontré une erreur.
     */
    private static void ajouterAffectationH(Connection conn, int numVol, int numAvion, String dateVol) throws SQLException {
        PreparedStatement stmt;
        
        int nbPlaces = 20;
        int nbHotesses;
        int numPersoH = 1;
        
        try {
            //Nombre d'hotesses à affecter
            stmt = conn.prepareStatement("Select count(NumPlace) as nbPlaces from Places"
                    + " Where NumAvionP = " + numAvion);

            ResultSet resultat = stmt.executeQuery();
            while (resultat.next()) {
                //Affichage de la liste des modèles
                nbPlaces = Integer.parseInt(resultat.getString("nbPlaces"));
            }
            
            if(nbPlaces <= 20)
                nbHotesses = 1;
            else
                nbHotesses = nbPlaces % 20;
            
            for(int i = 1 ; i <= nbHotesses ; i++) {
                numPersoH = LectureClavier.lireEntier("Numéro de l'hotesse à affecter à ce vol : ");
                
                stmt = conn.prepareStatement("Insert Into AffectationH "
                        + "Values(?, ?, to_date(?, 'DD-MON-YY'))");
                
                stmt.setInt(1, numPersoH);
                stmt.setInt(2, numVol);
                stmt.setString(3, dateVol);
                
                stmt.executeQuery();
            }
            
        } catch (SQLException ex) {
            conn.rollback();
            System.out.println("L'ajout du vol de passager a rencontré une erreur");
            Logger.getLogger(AirChance.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    /**
     * ajouterAffectationH effectue les opérations nécessaires à l'affectation
     * d'une hotesse. En l'occurence, il s'agit d'affecter les
     * hotesses.
     *
     * @param conn : Connexion à la base de donnée
     * @throws SQLException : Rollback si la transcation a rencontré une erreur.
     */
    private static void ajouterAffectationP(Connection conn, int numVol, int nbPilotes, String dateVol) throws SQLException {
        PreparedStatement stmt;
        
        int nbPlaces = 20;
        int nbHotesses;
        int numPersoP;
        
        try {
            for(int i = 1 ; i <= nbPilotes ; i++) {
                numPersoP = LectureClavier.lireEntier("Numéro du pilote à affecter à ce vol : ");
                
                stmt = conn.prepareStatement("Insert Into AffectationP "
                        + "Values(?, ?, to_date(?, 'DD-MON-YY'))");
                
                stmt.setInt(1, numPersoP);
                stmt.setInt(2, numVol);
                stmt.setString(3, dateVol);
                
                stmt.executeQuery();
            }
            
        } catch (SQLException ex) {
            conn.rollback();
            System.out.println("L'ajout du vol de passager a rencontré une erreur");
            Logger.getLogger(AirChance.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    /**
     * ajouterPilote effectue les opérations nécessaires à l'ajout d'un pilote.
     *
     * @param conn : Connexion à la base de donnée
     * @throws SQLException : Rollback si la transcation a rencontré une erreur.
     */
    private static void ajouterPilote(Connection conn) throws SQLException {
        PreparedStatement stmt;
        
        Vector listePilotes = new Vector();
        Scanner sc = new Scanner(System.in);
        int NumPersoP;
        String NomP;
        String PrenomP;
        int Numero;
        String Rue;
        String Ville;
        String CP;
        String Pays;
        int NbHeuresVolTotal;
        
        try {
            //Affichage des pilotes existants
            stmt = conn.prepareStatement("Select NumPersoP From Pilotes");
            
            ResultSet resultat = stmt.executeQuery();
            
            while (resultat.next()) {
                NumPersoP = Integer.parseInt(resultat.getString("NumPersoP"));
                System.out.println("Numéro du pilote : " + NumPersoP);
                listePilotes.add(NumPersoP);
            }
            
            NumPersoP = LectureClavier.lireEntier("Entrez le numéro du pilote : ");
            
            //Verification du numéro du pilote
            while (piloteExistant(NumPersoP, listePilotes)) {
                NumPersoP = sc.nextInt();
            }   
                    
            System.out.println("Entrez le nom du pilote : ");
            NomP = LectureClavier.lireChaine();
            
            System.out.println("Entrez le prénom du pilote : ");
            PrenomP = LectureClavier.lireChaine();
            
            Numero = LectureClavier.lireEntier("Entrez le numéro de rue du pilote : ");
            
            System.out.println("Entrez la rue du pilote : ");
            Rue = LectureClavier.lireChaine();
            
            System.out.println("Entrez la ville du pilote : ");
            Ville = LectureClavier.lireChaine();
            
            System.out.println("Entrez le CP du pilote : ");
            CP = LectureClavier.lireChaine();
            
            System.out.println("Entrez le pays du pilote : ");
            Pays = LectureClavier.lireChaine();
            
            NbHeuresVolTotal = LectureClavier.lireEntier("Entrez le nombre d'heures total du pilote : ");
            
            /* Choix du niveau d'isolation */
            conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
            
            //Création du pilote
            stmt = conn.prepareStatement("Insert Into Pilotes"
                    + " Values(?, ?, ?, ?, ?, ?, ?, ?, ?)");
            
            stmt.setInt(1, NumPersoP);
            stmt.setString(2, NomP);
            stmt.setString(3, PrenomP);
            stmt.setInt(4, Numero);
            stmt.setString(5, Rue);
            stmt.setString(6, Ville);
            stmt.setString(7, CP);
            stmt.setString(8, Pays);
            stmt.setInt(9, NbHeuresVolTotal);
            
            stmt.executeQuery();
            
            ajouterQualification(conn, NumPersoP);
            
            //Si les transactions sont validées
            conn.commit();
            
        } catch (SQLException ex) {
            conn.rollback();
            System.out.println("L'ajout du vol de passager a rencontré une erreur");
            Logger.getLogger(AirChance.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    /**
     * ajouterQualification effectue les opérations nécessaires à l'ajout
     * d'une ou de plusieurs qualification(s) pour un pilote.
     *
     * @param conn : Connexion à la base de donnée
     * @param NumPersoP : Numéro du pilote 
     * @throws SQLException : Rollback si la transcation a rencontré une erreur.
     */
    private static void ajouterQualification(Connection conn, int NumPersoP) throws SQLException {
        PreparedStatement stmt;
        
        Vector listeModeles = new Vector();
        String Modele = "";
        int NbHeuresTotal;
        String confirmation = "oui";
        Scanner sc = new Scanner(System.in);
        
        try {
            while(confirmation.equals("oui")) {
                //Création du nouveau vol
                System.out.println("Veuillez sélectionner le modèle de l'avion parmi la liste disponible :");

                stmt = conn.prepareStatement("Select Modele From Modele");

                ResultSet resultat = stmt.executeQuery();

                while (resultat.next()) {
                    //Affichage de la liste des modèles
                    Modele = resultat.getString("Modele");
                    System.out.println("Modele : " + Modele);
                    listeModeles.add(Modele);
                }
                
                Modele = LectureClavier.lireChaine();
                
                //Verification du numéro de l'avion
                while (!modeleExistant(Modele, listeModeles)) {
                    Modele = sc.next();
                }   
                
                NbHeuresTotal = LectureClavier.lireEntier("Veuillez indiquer le nombre d'heures total de vol sur ce type de modèle.");
                
                //Ajout de la qualification
                stmt = conn.prepareStatement("Insert Into Qualification"
                        + " Values(?, ?, ?)");

                stmt.setInt(1, NumPersoP);
                stmt.setString(2, Modele);
                stmt.setInt(3, NbHeuresTotal);
                
                stmt.executeQuery();
                
                System.out.println("Voulez-vous ajouter une autre qualification pour ce pilote ? (oui/non)");
                
                confirmation = LectureClavier.lireChaine();
            }
            
        } catch (SQLException ex) {
            conn.rollback();
            System.out.println("L'ajout du vol de passager a rencontré une erreur");
            Logger.getLogger(AirChance.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    /**
     * ajouterHotesse effectue les opérations nécessaires à l'ajout d'une hotesse.
     *
     * @param conn : Connexion à la base de données
     * @throws SQLException : Rollback si la transcation a rencontré une erreur.
     */
    private static void ajouterHotesse(Connection conn) throws SQLException {
        PreparedStatement stmt;
        
        Vector listeHotesses = new Vector();
        Scanner sc = new Scanner(System.in);
        int NumPersoH;
        String NomH;
        String PrenomH;
        int Numero;
        String Rue;
        String Ville;
        String CP;
        String Pays;
        int NbHeuresVolTotal;
        String Langue2;
        
        try {
            //Affichage des hotesses existantes
            stmt = conn.prepareStatement("Select NumPersoH From Hotesses");
            
            ResultSet resultat = stmt.executeQuery();
            
            while (resultat.next()) {
                NumPersoH = Integer.parseInt(resultat.getString("NumPersoH"));
                System.out.println("Numéro de l'hotesse : " + NumPersoH);
                listeHotesses.add(NumPersoH);
            }
            
            NumPersoH = LectureClavier.lireEntier("Entrez le numéro de l'hotesse : ");
            
            //Verification du numéro de l'hotesse
            while (hotesseExistante(NumPersoH, listeHotesses)) {
                NumPersoH = sc.nextInt();
            }   
                    
            System.out.println("Entrez le nom de l'hotesse : ");
            NomH = LectureClavier.lireChaine();
            
            System.out.println("Entrez le prénom de l'hotesse : ");
            PrenomH = LectureClavier.lireChaine();
            
            Numero = LectureClavier.lireEntier("Entrez le numéro de rue de l'hotesse : ");
            
            System.out.println("Entrez la rue de l'hotesse : ");
            Rue = LectureClavier.lireChaine();
            
            System.out.println("Entrez la ville de l'hotesse : ");
            Ville = LectureClavier.lireChaine();
            
            System.out.println("Entrez le CP de l'hotesse : ");
            CP = LectureClavier.lireChaine();
            
            System.out.println("Entrez le pays de l'hotesse : ");
            Pays = LectureClavier.lireChaine();
            
            NbHeuresVolTotal = LectureClavier.lireEntier("Entrez le nombre d'heures total de l'hotesse : ");
            
            System.out.println("Entrez la deuxième langue de l'hotesse : ");
            Langue2 = LectureClavier.lireChaine();
            
            if(Pays.equals("US") || Pays.equals("Angleterre")) {
                while(Langue2.equals("Anglais")) {
                    System.out.println("Cette hotesse a déjà Anglais en Langue1. Veuillez sélectionner une autre langue.");
                    Langue2 = LectureClavier.lireChaine();
                }
            }
            
            /* Choix du niveau d'isolation */
            conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
            
            //Création de l'hotesse
            stmt = conn.prepareStatement("Insert Into Hotesses"
                    + " Values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
            
            stmt.setInt(1, NumPersoH);
            stmt.setString(2, NomH);
            stmt.setString(3, PrenomH);
            stmt.setInt(4, Numero);
            stmt.setString(5, Rue);
            stmt.setString(6, Ville);
            stmt.setString(7, CP);
            stmt.setString(8, Pays);
            stmt.setInt(9, NbHeuresVolTotal);
            stmt.setString(10, Langue2);
            
            stmt.executeQuery();
            
            //Si les transactions sont validées
            conn.commit();
            
        } catch (SQLException ex) {
            conn.rollback();
            System.out.println("L'ajout du vol de passager a rencontré une erreur");
            Logger.getLogger(AirChance.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /**
     * avionExistant retourne vrai ssi le modele m existe dans la base de donnée
     *
     * @param int numModele
     * @param listeModeles
     * @return
     */
    private static boolean avionExistant(int numModele, Vector listeModeles) {
        Boolean existe = false;
        if (listeModeles.contains(numModele)) {
            existe = true;
        } else {
            System.out.println("Ce modèle n'existe pas dans la base de donnée, veuillez sélectionner un modèle valide");
        }
        return existe;
    }
    
    /**
     * modeleExistant retourne vrai ssi le modele m existe dans la base de donnée
     *
     * @param String Modele
     * @param listeModeles
     * @return
     */
    private static boolean modeleExistant(String Modele, Vector listeModeles) {
        Boolean existe = false;
        if (listeModeles.contains(Modele)) {
            existe = true;
        } else {
            System.out.println("Ce modèle n'existe pas dans la base de donnée, veuillez sélectionner un modèle valide");
        }
        return existe;
    }
    
    /**
     * piloteExistant retourne vrai ssi le pilote p existe dans la base de données
     *
     * @param int NumPersoP
     * @param listeMPilotes
     * @return
     */
    private static boolean piloteExistant(int NumPersoP, Vector listePilotes) {
        Boolean existe = false;
        if (listePilotes.contains(NumPersoP)) {
            existe = true;
            System.out.println("Ce pilote existe déjà, veuillez en choisir un autre.");
        } else {
            existe = false;
        }
        return existe;
    }
    
    /**
     * hotesseExistante retourne vrai ssi l'hotesse h existe dans la base de données
     *
     * @param int NumPersoH
     * @param listeHotesses 
     * @return
     */
    private static boolean hotesseExistante(int NumPersoH, Vector listeHotesses) {
        Boolean existe = false;
        if (listeHotesses.contains(NumPersoH)) {
            existe = true;
            System.out.println("Cette hotesse existe déjà, veuillez en choisir une autre.");
        } else {
            existe = false;
        }
        return existe;
    }

    private static boolean heureValide(int heureDep) {
        Boolean valide = false;
        if (heureDep>=0 && heureDep<=23) {
            valide = true;
        } else {
            System.out.println("Heure incorrecte, veuillez saisir une heure avec une syntaxe correcte");
        }
        return valide;
    }

    private static boolean minuteValide(int minDep) {
        Boolean valide = false;
        if (minDep>=0 && minDep<=59) {
            valide = true;
        } else {
            System.out.println("Minutes incorrectes, veuillez saisir des minutes avec une syntaxe correcte");
        }
        return valide;
    }
}
